package com.nexgo.payment.action.transresp;

import com.nexgo.payment.BasePresenter;
import com.nexgo.payment.BaseView;
import com.nexgo.payment.databases.TransRecord;

/**
 * 交易结果相关接口
 *
 * @author 谭忠扬-YuriTam
 * @time 2017年08月14日
 */
public interface TransRespContract {
    interface View extends BaseView<Presenter> {

        /**
         * 显示交易结果数据
         *
         * @param transRecord 交易信息
         */
        void showTransResp(TransRecord transRecord);

        /**
         * 打印机初始化失败
         */
        void showPrintInitErr();

        /**
         * 打印弹出层
         * @param active
         */
        void setPrintingIndicator(boolean active);

        /**
         * 打印成功
         */
        void showPrintSuccess();

        /**
         * 打印缺纸
         */
        void showPrintLackPaper();

        /**
         * 打印完成第一联后，弹出是否确认打印第二联
         */
        void showConfirmPrintAgain();

        /**
         * 打印失败
         *
         * @param failDesc 失败描述信息
         */
        void showPrintFail(String failDesc);

        /**
         * 界面状态
         *
         * @return
         */
        boolean isActive();
    }

    interface Presenter extends BasePresenter {

        /**
         * 开始打印
         */
        void startPrint();
    }
}
